A content provider often receives requests for the same data from multiple devices. Transmitting the requested data to the devices can be complicated by varying network conditions and different device capabilities. Thus, to transmit the data to all the devices, the content provider may be constrained to sacrifice quality and capacity to cater data transmission to the device with the lowest quality connection or capacity. Thus, there is therefore a need for more sophisticated methods and systems for transmitting data to optimize network and device resources.